package com.sq.partner.manager.service;

import com.sq.partner.manager.mybatis.model.HaidaInfo;
import com.sq.partner.manager.mybatis.model.HaidaStageInfoVo;
import com.sq.partner.manager.util.Page;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import java.util.List;
import java.util.Map;

/**
 * author lxy
 * 2022/4/2 11:41
 */
public interface HaidaService {
	Page queryHaidaInfoPage(Map<String, Object> map) throws Exception;
	
	List<HaidaInfo> queryHaidaInfoList(Map<String, Object> map) throws Exception;
	
	long queryHaidaReconciliationCount(Map<String, Object> map) throws Exception;
	
	/**
	 * 生成Excel表格HSSFWorkbook对象
	 *
	 * @param sheetName    工作表Sheet名称
	 * @param columnNumber 列数
	 * @param columnWidth  列宽数组
	 * @param columnName   列名数组
	 * @param haidaInfos   插入到表格内的二维数组数据
	 * @return HSSFWorkbook对象
	 * @throws Exception -
	 */
	HSSFWorkbook generateHssWorkBook(String sheetName, int columnNumber, int[] columnWidth,
	                                 String[] columnName, String[][] haidaInfos) throws Exception;
	
	/**
	 * 调用保单终止接口
	 *
	 * @param map serialNumber：流水号，orderNo订单号，polNo：保单号；
	 * @throws Exception -
	 */
	Map<String, String> terminationOfThePolicy(Map<String, Object> map) throws Exception;
	
	List<HaidaStageInfoVo> queryHaidaStageInfoList(Map<String, Object> map) throws Exception;
	
	Page queryHaidaStageInfoPage(Map<String, Object> map) throws Exception;
}
